//T10079. FBI 树
#include <iostream>
using namespace std;
typedef struct node;
typedef node* bt;
struct node
{
    char data;
    bt lchild=nullptr;
    bt rchild=nullptr;
};

string s;
int n;
int a[1200],suma[1200];

bt build_tree(int left,int right){
    bt root=new node;
    int val=suma[right]-suma[left-1];
    if (val==0) root->data='B';
    else if (val==right-left+1) root->data='I';
    else root->data='F';
    if (left<right){
        int mid=(left+right)/2;
        root->lchild=build_tree(left,mid);
        root->rchild=build_tree(mid+1,right);
    }
    return root;
}
void postorder(bt root){
    if (root){
        postorder(root->lchild);
        postorder(root->rchild);
        cout<<root->data;
    }
}
int main(){
    cin>>n;
    cin>>s;
    for(int i=0;i<s.length();i++){
        a[i+1]=s[i]-'0'; //下标从1开始
        suma[i+1]=suma[i]+a[i+1];
    }
    bt r=build_tree(1,s.length());
    postorder(r);
}